首页 > 试题广场 >

最大值

[编程题]最大值
  • 热度指数:3637 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

有一个只由字符'1'到'9'组成的长度为 的字符串 ,现在可以截取其中一段长度为 的子串并且将该子串当作十进制的正整数,如对于子串"123",其对应的十进制数字就是

如果想让这个正整数尽可能的大的话,问该正整数最大能是多少。

函数传入一个长度为 的字符串 和一个正整数 ,请你返回答案。

示例1

输入

"321",2

输出

32

说明

所有长度为  的子串为:"32"和"21",显然是最大的。   
示例2

输入

"1234",4

输出

1234

说明

所有长度为  的子串只有它自己本身,因此答案为  。   

备注:
class Solution:
    def maxValue(self , s , k ):
        # write code here
        n = len(s)
        if k == len(s):
            return s
        max_num = -float("inf")
        for i in range(n-k):
            max_num = max(max_num,int(s[i:i+k]))
        return max_num
发表于 2022-06-27 08:56:46 回复(0)
class Solution:
    def maxValue(self , s , k ):
        # write code here
        res = []
        for i in range(len(s)-k+1):
            sub = s[i:i+k]
            res.append(int(sub))
        return max(res)

发表于 2022-04-25 16:14:13 回复(0)
class Solution:
    def maxValue(self , s , k ):
        # write code here
        mx = -1
        for i in range(len(s) - k + 1):
            ps = int(s[i:i+k])
            mx = max(ps, mx)
        return mx

发表于 2022-03-03 09:39:53 回复(0)

问题信息

上传者:小小
难度:
3条回答 3077浏览

热门推荐

通过挑战的用户

查看代码